/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sisgeroupas.view;

import java.awt.Dimension;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import sisgeroupas.dao.FornecedorCmbDao;
import sisgeroupas.dao.ProdutoDao;
import sisgeroupas.model.ModelFornecedor;
import sisgeroupas.model.ModelProduto;
import sisgeroupas.model.TableModelProduto;

/**
 *
 * @author Frederico Ribeiro
 */
public class FrmIntProduto extends javax.swing.JInternalFrame {

    TableModelProduto modelo = new TableModelProduto();
    /**
     * Creates new form FrmIntCliente
     * 
     */
    
    static boolean produtoAlterado = false;//Variavel usada para marcar se o botao alterar foi pressionad
    public FrmIntProduto() {
        initComponents();
        
        
        lblId.setVisible(false);
        //Criando a jTable cliente na aba Buscar
        modelo = new TableModelProduto();
        tblProduto.setModel(modelo);//Esse modelo que passo como parâmetro e feito em TableModelCliente.java no pacote model
        
        
        populaCmbFornecedor();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    
    
    
    
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btngTamanho = new javax.swing.ButtonGroup();
        tbpProduto = new javax.swing.JTabbedPane();
        pnlPrincipal = new javax.swing.JPanel();
        pnlProduto = new javax.swing.JPanel();
        lblId = new javax.swing.JLabel();
        lblFornecedor = new javax.swing.JLabel();
        txtDescricao = new javax.swing.JTextField();
        lblDescricao = new javax.swing.JLabel();
        txtMarca = new javax.swing.JTextField();
        lblMarca = new javax.swing.JLabel();
        lblTamanho = new javax.swing.JLabel();
        pnlTamanho = new javax.swing.JPanel();
        rdbGg = new javax.swing.JRadioButton();
        rdbG = new javax.swing.JRadioButton();
        rdbM = new javax.swing.JRadioButton();
        rdbP = new javax.swing.JRadioButton();
        rdbPp = new javax.swing.JRadioButton();
        rdbEgg = new javax.swing.JRadioButton();
        lblPreco = new javax.swing.JLabel();
        txtPreco = new javax.swing.JTextField();
        btnLimpar = new javax.swing.JButton();
        btnAlterar = new javax.swing.JButton();
        btnExcluir = new javax.swing.JButton();
        btnSalvar = new javax.swing.JButton();
        cmbFornecedor = new javax.swing.JComboBox();
        btnAtualizarFornecedor = new javax.swing.JButton();
        txtQuantidade = new javax.swing.JTextField();
        lblQuantidade = new javax.swing.JLabel();
        pnPrincipallBuscar = new javax.swing.JPanel();
        pnlBuscar = new javax.swing.JPanel();
        lblBuscar = new javax.swing.JLabel();
        btnBuscar = new javax.swing.JButton();
        txtbuscarProduto = new javax.swing.JTextField();
        scpProduto = new javax.swing.JScrollPane();
        tblProduto = new javax.swing.JTable();
        btnSelecionar = new javax.swing.JButton();
        btnLimparBuscaProduto = new javax.swing.JButton();

        setClosable(true);
        setIconifiable(true);
        setResizable(true);
        setTitle("Produtos");

        pnlProduto.setBorder(javax.swing.BorderFactory.createTitledBorder("Produtos"));

        lblFornecedor.setText("Fornecedor:");

        lblDescricao.setText("Descrição:");

        lblMarca.setText("Marca:");

        lblTamanho.setText("Tamanho");

        pnlTamanho.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        btngTamanho.add(rdbGg);
        rdbGg.setText("GG");

        btngTamanho.add(rdbG);
        rdbG.setText("G");

        btngTamanho.add(rdbM);
        rdbM.setText("M");

        btngTamanho.add(rdbP);
        rdbP.setText("P");

        btngTamanho.add(rdbPp);
        rdbPp.setText("PP");

        btngTamanho.add(rdbEgg);
        rdbEgg.setText("EGG");
        rdbEgg.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rdbEggActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlTamanhoLayout = new javax.swing.GroupLayout(pnlTamanho);
        pnlTamanho.setLayout(pnlTamanhoLayout);
        pnlTamanhoLayout.setHorizontalGroup(
            pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlTamanhoLayout.createSequentialGroup()
                .addGroup(pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(rdbGg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(rdbEgg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(pnlTamanhoLayout.createSequentialGroup()
                        .addComponent(rdbM, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(rdbPp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(pnlTamanhoLayout.createSequentialGroup()
                        .addComponent(rdbG, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(rdbP, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE))))
        );
        pnlTamanhoLayout.setVerticalGroup(
            pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlTamanhoLayout.createSequentialGroup()
                .addGroup(pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rdbG)
                    .addComponent(rdbP)
                    .addComponent(rdbEgg))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 1, Short.MAX_VALUE)
                .addGroup(pnlTamanhoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rdbGg)
                    .addComponent(rdbM)
                    .addComponent(rdbPp)))
        );

        lblPreco.setText("Preço:");

        btnLimpar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/817_32x32.png"))); // NOI18N
        btnLimpar.setText("Limpar");
        btnLimpar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLimparActionPerformed(evt);
            }
        });

        btnAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/1957_32x32.png"))); // NOI18N
        btnAlterar.setText("Alterar");
        btnAlterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnAlterarActionPerformed(evt);
            }
        });

        btnExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/7898_32x32.png"))); // NOI18N
        btnExcluir.setText("Excluir");
        btnExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnExcluirActionPerformed(evt);
            }
        });

        btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/6228_32x32.png"))); // NOI18N
        btnSalvar.setText("Salvar");
        btnSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSalvarActionPerformed(evt);
            }
        });

        cmbFornecedor.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        btnAtualizarFornecedor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/atualizar_16x16.png"))); // NOI18N
        btnAtualizarFornecedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnAtualizarFornecedorActionPerformed(evt);
            }
        });

        lblQuantidade.setText("Quantidade:");

        javax.swing.GroupLayout pnlProdutoLayout = new javax.swing.GroupLayout(pnlProduto);
        pnlProduto.setLayout(pnlProdutoLayout);
        pnlProdutoLayout.setHorizontalGroup(
            pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlProdutoLayout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblDescricao)
                            .addGroup(pnlProdutoLayout.createSequentialGroup()
                                .addGap(304, 304, 304)
                                .addComponent(lblId))
                            .addComponent(lblFornecedor)
                            .addGroup(pnlProdutoLayout.createSequentialGroup()
                                .addComponent(cmbFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(292, 292, 292)
                                .addComponent(btnAtualizarFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(lblMarca)
                            .addComponent(lblPreco)
                            .addGroup(pnlProdutoLayout.createSequentialGroup()
                                .addComponent(txtPreco, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(34, 34, 34)
                                .addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(txtDescricao, javax.swing.GroupLayout.PREFERRED_SIZE, 476, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtMarca, javax.swing.GroupLayout.PREFERRED_SIZE, 292, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(pnlProdutoLayout.createSequentialGroup()
                        .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(pnlProdutoLayout.createSequentialGroup()
                                .addComponent(btnLimpar)
                                .addGap(28, 28, 28)
                                .addComponent(btnAlterar)
                                .addGap(35, 35, 35)
                                .addComponent(btnExcluir)
                                .addGap(26, 26, 26)
                                .addComponent(btnSalvar))
                            .addGroup(pnlProdutoLayout.createSequentialGroup()
                                .addGap(185, 185, 185)
                                .addComponent(lblQuantidade)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(lblTamanho)
                                    .addComponent(pnlTamanho, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addGap(0, 0, Short.MAX_VALUE))))
        );
        pnlProdutoLayout.setVerticalGroup(
            pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblId)
                .addGap(10, 10, 10)
                .addComponent(lblDescricao)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(txtDescricao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(11, 11, 11)
                .addComponent(lblFornecedor)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(cmbFornecedor, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnAtualizarFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(lblMarca)
                .addGap(4, 4, 4)
                .addComponent(txtMarca, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlProdutoLayout.createSequentialGroup()
                        .addGap(1, 1, 1)
                        .addComponent(lblQuantidade)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtPreco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(pnlProdutoLayout.createSequentialGroup()
                        .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblTamanho)
                            .addComponent(lblPreco))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(pnlTamanho, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(32, 32, 32)
                .addGroup(pnlProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnLimpar)
                    .addComponent(btnAlterar)
                    .addComponent(btnExcluir)
                    .addComponent(btnSalvar))
                .addContainerGap())
        );

        javax.swing.GroupLayout pnlPrincipalLayout = new javax.swing.GroupLayout(pnlPrincipal);
        pnlPrincipal.setLayout(pnlPrincipalLayout);
        pnlPrincipalLayout.setHorizontalGroup(
            pnlPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlPrincipalLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pnlProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 521, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnlPrincipalLayout.setVerticalGroup(
            pnlPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlPrincipalLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pnlProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 359, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        tbpProduto.addTab("Produto", pnlPrincipal);

        pnlBuscar.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        lblBuscar.setText("Buscar Produtos:");

        btnBuscar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/lupa2_32x32.png"))); // NOI18N
        btnBuscar.setText("Buscar");
        btnBuscar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarActionPerformed(evt);
            }
        });

        tblProduto.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        scpProduto.setViewportView(tblProduto);

        btnSelecionar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/check2_32x32.png"))); // NOI18N
        btnSelecionar.setText("Selecionar");
        btnSelecionar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSelecionarActionPerformed(evt);
            }
        });

        btnLimparBuscaProduto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisgeroupas/icones/817_32x32.png"))); // NOI18N
        btnLimparBuscaProduto.setText("Limpar");
        btnLimparBuscaProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLimparBuscaProdutoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlBuscarLayout = new javax.swing.GroupLayout(pnlBuscar);
        pnlBuscar.setLayout(pnlBuscarLayout);
        pnlBuscarLayout.setHorizontalGroup(
            pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlBuscarLayout.createSequentialGroup()
                .addGroup(pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlBuscarLayout.createSequentialGroup()
                        .addGap(33, 33, 33)
                        .addGroup(pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(pnlBuscarLayout.createSequentialGroup()
                                    .addComponent(txtbuscarProduto)
                                    .addGap(18, 18, 18)
                                    .addComponent(btnBuscar))
                                .addGroup(pnlBuscarLayout.createSequentialGroup()
                                    .addComponent(lblBuscar)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 263, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addComponent(scpProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(pnlBuscarLayout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnSelecionar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnLimparBuscaProduto)))
                .addGap(0, 24, Short.MAX_VALUE))
        );
        pnlBuscarLayout.setVerticalGroup(
            pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlBuscarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblBuscar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnBuscar)
                    .addComponent(txtbuscarProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(scpProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(55, 55, 55)
                .addGroup(pnlBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnLimparBuscaProduto)
                    .addComponent(btnSelecionar))
                .addGap(160, 160, 160))
        );

        javax.swing.GroupLayout pnPrincipallBuscarLayout = new javax.swing.GroupLayout(pnPrincipallBuscar);
        pnPrincipallBuscar.setLayout(pnPrincipallBuscarLayout);
        pnPrincipallBuscarLayout.setHorizontalGroup(
            pnPrincipallBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnPrincipallBuscarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pnlBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnPrincipallBuscarLayout.setVerticalGroup(
            pnPrincipallBuscarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnPrincipallBuscarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pnlBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 493, Short.MAX_VALUE)
                .addContainerGap())
        );

        tbpProduto.addTab("Busca", pnPrincipallBuscar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(tbpProduto)
                .addGap(1, 1, 1))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tbpProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 406, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void rdbEggActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdbEggActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_rdbEggActionPerformed

    private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAlterarActionPerformed
        habilitaCampos();
        produtoAlterado = true;
    }//GEN-LAST:event_btnAlterarActionPerformed

    private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalvarActionPerformed
        if(txtDescricao.getText().equals(""))
            JOptionPane.showMessageDialog(null,"O preenchimento da Descrição e obrigatorio!");
        else if(txtPreco.getText().equals(""))
            JOptionPane.showMessageDialog(null,"O preenchimento do Preço e obrigatorio!");
        else if(txtQuantidade.getText().equals(""))
            JOptionPane.showMessageDialog(null,"O preenchimento da Quantidade e obrigatorio!");
        else if(btngTamanho.getSelection().equals(""))
            JOptionPane.showMessageDialog(null,"O preenchimento do Tamanho é obrigatorio!");
                
        else{
        

                if(produtoAlterado == true){//Atualiza
                    ModelProduto produto = new ModelProduto();
                    produto.setId(Integer.parseInt(lblId.getText()));
                    produto.setDescricao(txtDescricao.getText());
                    produto.setFornecedor(Character.getNumericValue(
                                    cmbFornecedor.getSelectedItem().toString().charAt(0)));
                                            //Pega o primeiro caracter do combo fornecedor e transforma em inteiro
                    produto.setMarca(txtMarca.getText());

                    if(rdbEgg.isSelected()){
                        produto.setTamanho("egg");
                    }
                    if(rdbGg.isSelected()){
                        produto.setTamanho("gg");
                    }
                    if(rdbG.isSelected()){
                        produto.setTamanho("g");
                    }
                    if(rdbM.isSelected()){
                        produto.setTamanho("m");
                    }
                    if(rdbP.isSelected()){
                        produto.setTamanho("p");
                    }
                    if(rdbPp.isSelected()){
                        produto.setTamanho("pp");
                    }
                    produto.setPreco(Float.parseFloat(txtPreco.getText()));
                    produto.setQuantidade(Integer.parseInt(txtQuantidade.getText()));

                    ProdutoDao dao = new ProdutoDao();
                    dao.atualizar(produto);
                    produtoAlterado =false;
                    JOptionPane.showMessageDialog(null,"Produto atualizado com sucesso!");
                    desabilitaCampos();

                }
                else{//Salva
                        ModelProduto produto = new ModelProduto();
                        //produto.setId(Integer.parseInt(lblId.getText()));
                        //JOptionPane.showMessageDialog(null,lblId.getText());
                        produto.setDescricao(txtDescricao.getText());
                        produto.setFornecedor(Character.getNumericValue(
                                    cmbFornecedor.getSelectedItem().toString().charAt(0)));
                                            //Pega o primeiro caracter do combo fornecedor e transforma em inteiro
                        //JOptionPane.showMessageDialog(null, produto.getFornecedor());
                        produto.setMarca(txtMarca.getText());
                        if(rdbEgg.isSelected()){
                            produto.setTamanho("egg");
                        }
                        if(rdbGg.isSelected()){
                            produto.setTamanho("gg");
                        }
                        if(rdbG.isSelected()){
                            produto.setTamanho("g");
                        }
                        if(rdbM.isSelected()){
                            produto.setTamanho("m");
                        }
                        if(rdbP.isSelected()){
                            produto.setTamanho("p");
                        }
                        if(rdbPp.isSelected()){
                            produto.setTamanho("pp");
                        }
                        //JOptionPane.showMessageDialog(null,produto.getTamanho());
                        produto.setPreco(Float.parseFloat(txtPreco.getText()));
                        produto.setQuantidade(Integer.parseInt(txtQuantidade.getText()));
                        ProdutoDao dao = new ProdutoDao();
                        dao.inserir(produto);
                        JOptionPane.showMessageDialog(null,"Produto Salvo com sucesso!");
                    }
        }
    }//GEN-LAST:event_btnSalvarActionPerformed

    private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarActionPerformed
       ModelProduto produto = new ModelProduto();

        produto.setDescricao(txtbuscarProduto.getText());

        ProdutoDao dao = new ProdutoDao();

        if(!dao.pesquisar(produto).isEmpty()){//Verifica se a pesquisa vai retorna diferente de vazio
            ArrayList <ModelProduto> ResProduto =  dao.pesquisar(produto);
            
            for(int i=0; i < ResProduto.size();i++)
            {
                
                modelo.addCadastro(ResProduto.get(i));
            }
        }else {
            JOptionPane.showMessageDialog(null,"Não foi encontrado nenhum resultado!");
    }//GEN-LAST:event_btnBuscarActionPerformed
    }
    private void btnLimparBuscaProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLimparBuscaProdutoActionPerformed
        txtbuscarProduto.setText("");
        modelo.limpar();
    }//GEN-LAST:event_btnLimparBuscaProdutoActionPerformed

    private void btnSelecionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSelecionarActionPerformed
        int linhaSel = tblProduto.getSelectedRow();
        int colunaSel = tblProduto.getSelectedColumn();

        ModelProduto produto = modelo.getProduto(linhaSel);
        txtbuscarProduto.setText("");
        modelo.limpar();

        lblId.setText(String.valueOf(produto.getId()));//Coloca a valor do id em um label oculto
        txtDescricao.setText(produto.getDescricao());
       
            //Seta o fornecedor no combobox
            for(int i=0;i< cmbFornecedor.getItemCount();i++){//pego o numero de itens do combo fornecedor
                int id = Character.getNumericValue(cmbFornecedor.getItemAt(i).toString().charAt(0));//pego o primeiro caractere do item que é o id
                if(id == produto.getFornecedor()){//comparo com o atributo fornecedor gravado no produto
                    cmbFornecedor.setSelectedItem(cmbFornecedor.getItemAt(i));//sendo igual eu seto no combo
                    
                }
            }
    
        
        txtMarca.setText(produto.getMarca());
        if(produto.getTamanho().equals("egg")){
            rdbEgg.setSelected(true);
        }
        if(produto.getTamanho().equals("gg")){
            rdbGg.setSelected(true);
        }
        if(produto.getTamanho().equals("g")){
            rdbG.setSelected(true);
        }
        if(produto.getTamanho().equals("m")){
            rdbM.setSelected(true);
        }
        if(produto.getTamanho().equals("p")){
            rdbP.setSelected(true);
        }
        if(produto.getTamanho().equals("pp")){
            rdbPp.setSelected(true);
        }
        txtPreco.setText(String.valueOf(produto.getPreco()));
        txtQuantidade.setText(String.valueOf(produto.getQuantidade()));
        tbpProduto.setSelectedIndex(0);//Muda o foco da aba
        desabilitaCampos();
    }//GEN-LAST:event_btnSelecionarActionPerformed

    private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExcluirActionPerformed
       int resposta = JOptionPane.showConfirmDialog(null,"Tem certeza que deseja excluir o produto?");
        if(resposta == JOptionPane.YES_OPTION)
        {
        
                ModelProduto produto = new ModelProduto();
                produto.setId(Integer.parseInt(lblId.getText()));
                produto.setDescricao(txtDescricao.getText());
                produto.setMarca(txtMarca.getText());
                if(rdbEgg.isSelected()){
                    produto.setTamanho("egg");
                }
                if(rdbGg.isSelected()){
                    produto.setTamanho("gg");
                }
                if(rdbG.isSelected()){
                    produto.setTamanho("g");
                }
                if(rdbM.isSelected()){
                    produto.setTamanho("m");
                }
                if(rdbP.isSelected()){
                    produto.setTamanho("p");
                }
                if(rdbPp.isSelected()){
                    produto.setTamanho("pp");
                }
                
                produto.setPreco(Float.parseFloat(txtPreco.getText()));

                ProdutoDao dao = new ProdutoDao();
                dao.apagar(produto);
                JOptionPane.showMessageDialog(null,"Produto apagado com sucesso!");
                limparProduto();
                habilitaCampos();
                
        }
    }//GEN-LAST:event_btnExcluirActionPerformed

    private void btnLimparActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLimparActionPerformed
        limparProduto();
        habilitaCampos();
        produtoAlterado=false;
    }//GEN-LAST:event_btnLimparActionPerformed

    private void btnAtualizarFornecedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAtualizarFornecedorActionPerformed
       populaCmbFornecedor();
    }//GEN-LAST:event_btnAtualizarFornecedorActionPerformed

    
    public void desabilitaCampos(){
        txtDescricao.setEnabled(false);
        cmbFornecedor.setEnabled(false);
        btnAtualizarFornecedor.setEnabled(false);
        txtMarca.setEnabled(false);
        rdbEgg.setEnabled(false);
        rdbGg.setEnabled(false);
        rdbG.setEnabled(false);
        rdbM.setEnabled(false);
        rdbP.setEnabled(false);
        rdbPp.setEnabled(false);
        txtPreco.setEnabled(false);
        txtQuantidade.setEnabled(false);
        
    }
    
    
    public void limparProduto(){
        txtDescricao.setText("");
        cmbFornecedor.setSelectedIndex(0);
        txtMarca.setText("");
        btngTamanho.clearSelection();//Limpa o grupo de botões radioButton
        txtPreco.setText("");
        txtQuantidade.setText("");
        
    }
    
    public void habilitaCampos(){
        txtDescricao.setEnabled(true);
        cmbFornecedor.setEnabled(true);
        btnAtualizarFornecedor.setEnabled(true);
        txtMarca.setEnabled(true);
        rdbEgg.setEnabled(true);
        rdbGg.setEnabled(true);
        rdbG.setEnabled(true);
        rdbM.setEnabled(true);
        rdbP.setEnabled(true);
        rdbPp.setEnabled(true);
        txtPreco.setEnabled(true);
        txtQuantidade.setEnabled(true);
        
    }
    
    public void populaCmbFornecedor(){
        //Buscando os Fornecedores no banco e carregando na ComboBox
        ArrayList<ModelFornecedor> fornecedores = new ArrayList<ModelFornecedor>();
        FornecedorCmbDao cmbDao = new FornecedorCmbDao();
        
        
        fornecedores = cmbDao.pesquisar();
        
        DefaultComboBoxModel modelo = new DefaultComboBoxModel();  
            for(int i = 0; i < fornecedores.size(); i++){  
                   
                    modelo.addElement(fornecedores.get(i).getId()+ " - "+ fornecedores.get(i).getNomeFantasia());
            }  

        cmbFornecedor.setModel(modelo);
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnAlterar;
    private javax.swing.JButton btnAtualizarFornecedor;
    private javax.swing.JButton btnBuscar;
    private javax.swing.JButton btnExcluir;
    private javax.swing.JButton btnLimpar;
    private javax.swing.JButton btnLimparBuscaProduto;
    private javax.swing.JButton btnSalvar;
    private javax.swing.JButton btnSelecionar;
    private javax.swing.ButtonGroup btngTamanho;
    private javax.swing.JComboBox cmbFornecedor;
    private javax.swing.JLabel lblBuscar;
    private javax.swing.JLabel lblDescricao;
    private javax.swing.JLabel lblFornecedor;
    private javax.swing.JLabel lblId;
    private javax.swing.JLabel lblMarca;
    private javax.swing.JLabel lblPreco;
    private javax.swing.JLabel lblQuantidade;
    private javax.swing.JLabel lblTamanho;
    private javax.swing.JPanel pnPrincipallBuscar;
    private javax.swing.JPanel pnlBuscar;
    private javax.swing.JPanel pnlPrincipal;
    private javax.swing.JPanel pnlProduto;
    private javax.swing.JPanel pnlTamanho;
    private javax.swing.JRadioButton rdbEgg;
    private javax.swing.JRadioButton rdbG;
    private javax.swing.JRadioButton rdbGg;
    private javax.swing.JRadioButton rdbM;
    private javax.swing.JRadioButton rdbP;
    private javax.swing.JRadioButton rdbPp;
    private javax.swing.JScrollPane scpProduto;
    private javax.swing.JTable tblProduto;
    private javax.swing.JTabbedPane tbpProduto;
    private javax.swing.JTextField txtDescricao;
    private javax.swing.JTextField txtMarca;
    private javax.swing.JTextField txtPreco;
    private javax.swing.JTextField txtQuantidade;
    private javax.swing.JTextField txtbuscarProduto;
    // End of variables declaration//GEN-END:variables


    public void setPosicao() {  
        Dimension d = this.getDesktopPane().getSize();  
        this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2); }  
} 

